from bpy.types import PropertyGroup
from bpy.props import IntProperty, FloatProperty, BoolProperty


class ActiveEmitterEmissionAnimProps(PropertyGroup):
    
    """ active_emitter_item.emission.anim.x """

    object_anim_factor_x_start: IntProperty(name="Start", description="Start at Frame", default=1)
    object_anim_factor_x_duration: IntProperty(name="Duration", description="Duration", default=10)
    object_anim_factor_x_increase: IntProperty(name="Increase", description="Frames of the increment", default=1)
    object_anim_factor_x_decrease: IntProperty(name="Decrease", description="Frames of the decrement", default=1)
    object_anim_factor_x_from: FloatProperty(name="From", description="From value x", default=0.04)
    object_anim_factor_x_to: FloatProperty(name="To", description="To value x", default=0.0001)
    object_anim_factor_x_animed: BoolProperty(default=False)
    object_anim_factor_x_inc_dec: BoolProperty(default=False)

    object_anim_factor_y_start: IntProperty(name="Start", description="Start at Frame", default=1)
    object_anim_factor_y_duration: IntProperty(name="Duration", description="Duration", default=10)
    object_anim_factor_y_increase: IntProperty(name="Increase", description="Frames of the increment", default=1)
    object_anim_factor_y_decrease: IntProperty(name="Decrease", description="Frames of the decrement", default=1)
    object_anim_factor_y_from: FloatProperty(name="From", description="From value x", default=0.04)
    object_anim_factor_y_to: FloatProperty(name="To", description="To value x", default=0.0001)
    object_anim_factor_y_animed: BoolProperty(default=False)
    object_anim_factor_y_inc_dec: BoolProperty(default=False)

    object_anim_factor_z_start: IntProperty(name="Start", description="Start at Frame", default=1)
    object_anim_factor_z_duration: IntProperty(name="Duration", description="Duration", default=10)
    object_anim_factor_z_increase: IntProperty(name="Increase", description="Frames of the increment", default=1)
    object_anim_factor_z_decrease: IntProperty(name="Decrease", description="Frames of the decrement", default=1)
    object_anim_factor_z_from: FloatProperty(name="From", description="From value x", default=0.04)
    object_anim_factor_z_to: FloatProperty(name="To", description="To value x", default=0.0001)
    object_anim_factor_z_animed: BoolProperty(default=False)
    object_anim_factor_z_inc_dec: BoolProperty(default=False)